'use strict';
const db = uniCloud.database()
// 聚合操作符
const $ = db.command.aggregate
exports.main = async (event, context) => {
	
	const {
		user_id,
		article_id
	} = event
	
	let user = await db.collection('user').doc(user_id).get()
	user = user.data[0]
	let list = await db.collection('article')
	.aggregate()
	.addFields({
		// 添加字段
		// 是否关注作者   $.in 接收数组，判断前者是否存在于后者
		is_author_like: $.in(['$author.id', user.author_likes_ids]),
		// 是否收藏文章
		is_like: $.in(['$_id',user.article_likes_ids]),
		// 是否点赞文章
		is_thumbs_up: $.in(['$_id',user.thumbs_up_article_ids])
	})
	// 过滤
	.match({
		_id: article_id
	})
	// 限制什么字段是否返回
	.project({
		coments: 0
	})
	.end()
	
	
	//返回数据给客户端
	return {
		code: 200,
		msg: '获取数据成功',
		data: list.data[0]
	}
};
